// subPage/pages/photoPrint/photoPrint.js
const computedBehavior = require("miniprogram-computed").behavior;
const { initQiniu, uploadFile } = require("../../../utils/ossUtil");

Page({
  behaviors: [computedBehavior],
    /**
     * 页面的初始数据
     */
    data: {
        visible:false,
        cur: {},
        // 打印单价
        price: 0.3,
        // 打印份数
        photoSum: 1,
        position: [
            { value: 'bottom', text: '底部弹出' },
        ],
        // 照片数据
        originFiles: [],
        gridConfig: {
          column: 2,
          width: 320,
          height: 320,
        },
        config: {
          count: 1,
        },
      },
// 添加照片
        handleSuccess(e) {
          // 
          const { files } = e.detail;
          console.log(e);

          this.setData({
            originFiles: files,
          });
          // console.log(files[files.length-1].url,files.length);
          // this.addPhotoSon(files[files.length-1].url)
          // 这里打印的数据不一致  是因为上传图片接口是个异步请求
          // console.log(this.data.originFiles);
        },
// 删除照片
        handleRemove(e) {
          const { index } = e.detail;
          const { originFiles } = this.data;
          originFiles.splice(index, 1);
          this.setData({
            originFiles,
          });
        },
        handleClick(e) {
          console.log(e.detail.file);
        },
        // 提交打印
      printEvent(e){
          const { item } = e.currentTarget.dataset;
          this.setData(
            {
              cur: item,
            },
            () => {
              this.setData({ visible: true });
            },
          );
      },
      onVisibleChange(e) {
          this.setData({
            visible: e.detail.visible,
          });
        },
      //   关闭弹窗
      closePopup(){
          this.setData({ visible: false });
      },
      // 确认打印
      checkPrint(){
        // 将要打印的照片数据上传接口返回线上url地址再提交打印
        const _this = this
        _this.data.originFiles.forEach((item)=>{
          _this.addPhotoSon(item.url)
        })
        console.log(_this.data.originFiles);
          _this.setData({ visible: false });
      },
      // 打印份数
      changePhotoNums(e){
        this.setData({
          photoSum: e.detail.value
        })
        console.log(e.detail.value);
      },
      addPhotoSon(filePath){
        //调用上传接口
        const _this = this
        initQiniu()
        // 上传到7牛云将图片的模拟地址改成线上地址
        uploadFile(filePath,(res)=>{
            // 获取到更改图片的索引
            let pIndex = _this.data.originFiles.findIndex(item=> item.url == filePath)
            _this.setData({
              [`originFiles[${pIndex}].url`]: res.fileURL
            })
        })
      },
      // 计算属性
      computed: {
        // 合计
        sumPrice(data){
          return (data.originFiles.length*data.price).toFixed(1)
        },
        // 打印总价
        totalPrice(data){
          return (data.sumPrice*data.photoSum).toFixed(1)
        }
      },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})